package com.ponhu.ea2.stockcenter.provider.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * 库存变动记录表
 * @TableName ph_stock_inventory_change
 */
@Data
@Accessors(chain = true)
@TableName(value ="ph_stock_inventory_change")
public class StockInventoryChange implements Serializable {
    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 商品ID
     */
    private Long goodsId;

    /**
     * 货品ID
     */
    private Long inventoryId;

    /**
     * 货品编码
     */
    private String inventoryCode;

    /**
     * 记录渠道(1: OMS;2: WMS;3: 采购中心)
     */
    private Integer recordChannel;

    /**
     * 动作类型,3位 (1开头: OMS动作; 2开头: WMS动作; 3开头: 采购中心动作; )
销售层：
101: 销售下单
200: 调拨申请(存在占用)
201: 调拨申请(不存在占用)
202: 调拨入库(调拨到可售仓)
203: 采购入库(采购入可售仓)
204: 采退出库(采退出可售仓)
205: 盘亏出库(盘亏出可售仓)
206: 盘盈入库(盘盈入可售仓)
207: 销售出库(销售出可售仓)
     */
    private Integer actionType;

    /**
     * 直接单据号(OMS订单号或WMS单据号)
     */
    private String directSn;

    /**
     * 实际更新数量
     */
    private Integer updatedNum;

    /**
     * 操作描述(OMS/WMS接口调用动作)
     */
    private String optRemark;

    /**
     * 状态(1:变动成功;2:变动失败)
状态(1:变动成功;2:变动失败)

     */
    private Integer status;

    /**
     * 唯一ID码，用于幂等性保障
     */
    private String uniqueCode;

    /**
     * 商品类型(1:实物类;2:虚拟类)
     */
    private Integer goodsType;

    /**
     * 创建时间
     */
    private Date createTime;

}